/**    
 * 文件名：Ex5.java    
 *    
 * 版本信息：    
 * 日期：2014年3月25日    
 * xyj 足下 xyj 2014     
 * 版权所有    
 *    
 */
package learn.opencv.chapter02;

import static com.googlecode.javacv.cpp.opencv_core.cvCreateImage;
import static com.googlecode.javacv.cpp.opencv_core.cvSize;
import static com.googlecode.javacv.cpp.opencv_highgui.cvDestroyWindow;
import static com.googlecode.javacv.cpp.opencv_highgui.cvLoadImage;
import static com.googlecode.javacv.cpp.opencv_highgui.cvNamedWindow;
import static com.googlecode.javacv.cpp.opencv_highgui.cvShowImage;
import static com.googlecode.javacv.cpp.opencv_highgui.cvWaitKey;
import static com.googlecode.javacv.cpp.opencv_imgproc.CV_GAUSSIAN_5x5;
import static com.googlecode.javacv.cpp.opencv_imgproc.cvPyrDown;

import com.googlecode.javacv.cpp.opencv_core.IplImage;

/**
 * @项目名称：opencv-test
 * @类名称：Ex5
 * @类描述：
 * @创建人：zhuyi
 * @创建时间：2014年3月25日 上午10:48:30
 * @修改人：zhuyi
 * @修改时间：2014年3月25日 上午10:48:30
 * @修改备注：
 * @version
 * 
 */
public class Ex5 {

    public static void main(String[] args) {
        IplImage image = cvLoadImage("art5014360081-s.jpg");

        cvNamedWindow("in");
        cvNamedWindow("out");

        cvShowImage("in", image);

        IplImage out = doPyrDown(image);

        cvShowImage("out", out);

        cvWaitKey(0);

        cvDestroyWindow("in");
        cvDestroyWindow("out");

    }

    public static IplImage doPyrDown(IplImage in) {
        assert in.width() % 2 == 0 && in.height() % 2 == 0;

        IplImage out = cvCreateImage(cvSize(in.width() / 2, in.height() / 2), in.depth(), in.nChannels());

        cvPyrDown(in, out, CV_GAUSSIAN_5x5);
        return out;
    }

}
